The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
Enterprise desktop management generally refers to managing, protecting, and distributing the disk contents of a large number of computers in an enterprise such as, for example, a company, an educational institution, or a government or non-government organization. Enterprise desktop management is one of the most challenging Information Technology (IT) tasks for several reasons.
One reason is the complexity of managing a large number of different desktop instances that may exist on enterprise computers. The sheer number of computers to manage, the proliferation of operating system (OS) images and applications, and the complex set of operations to apply—including, but not limited to, deployment and provisioning, patching, upgrades, application installations and management, compliance testing, troubleshooting and re-imaging                all make the managing of enterprise computers a very challenging task. This task is further complicated because typically the execution of end user workloads and applications is delegated to the endpoint enterprise computers for the purposes of cost-effectiveness, improving performance and the end user experience, and providing the end users with the ability to work offline.        
Another reason that makes enterprise desktop management a challenging task is that nowadays most enterprises are dispersed over multiple geographic locations. The use of Local Area Networks (LANs) that are connected over one or more Wide Area Networks (WANs) with variable bandwidths and latencies is a serious barrier to providing efficient desktop management without sacrificing the end user experience. For example, various desktop management operations (e.g., deployment and provisioning, patching, upgrades, application installations, etc.) typically need to be performed on end user computers over low bandwidth and high latency networks, while the end users justifiably expect to be able to start working on their computers without significant delays and without having to wait for long-running management operations to complete.